package com.cskaoyan.util;

import com.cskaoyan.bean.BaseRespVo;
import com.cskaoyan.exception.ValidationException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;

public class ValidationUtil {

    public static BaseRespVo valid(BindingResult bindingResult) {
        //只要其中一个成员变量没有通过校验，这个结果就是true

            //拿到校验错误
            FieldError fieldError = bindingResult.getFieldError();
            //拒绝值 → 错误的值是什么
            Object rejectedValue = fieldError.getRejectedValue();
            //成员变量名 → 请求参数名
            String field = fieldError.getField();

            String message = fieldError.getDefaultMessage();

            String errmessage = "请求参数" + field + "引入传入" + rejectedValue + "导致没有通过校验;" + message;
            return BaseRespVo.fail(errmessage);

    }
    public static void valid2(BindingResult bindingResult) throws ValidationException {
        //只要其中一个成员变量没有通过校验，这个结果就是true
        if (bindingResult.hasFieldErrors()) {

            //拿到校验错误
            FieldError fieldError = bindingResult.getFieldError();
            //拒绝值 → 错误的值是什么
            Object rejectedValue = fieldError.getRejectedValue();
            //成员变量名 → 请求参数名
            String field = fieldError.getField();

            String message = fieldError.getDefaultMessage();

            String errmessage = "请求参数" + field + "因为传入" + rejectedValue + "导致没有通过校验;" + message;
            throw new ValidationException(errmessage);
        }

    }
}
